from typing import Optional
from pydantic import BaseModel, Field


class DashScopeEmbeddingConfig(BaseModel):
    """
    用于配置 LlamaIndex DashScopeEmbedding 的动态参数模型。
    """
    model_name: str = Field("text-embedding-v2", description="要使用的通义千问模型名称, 例如: text-embedding-v2")
    api_key: Optional[str] = Field(None, description="通义千问的 API Key。如果为 None，则会尝试从环境变量 DASHSCOPE_API_KEY 中读取。")

    class Config:
        frozen = True 